package bean.model;

import java.rmi.RemoteException;
import java.rmi.server.UnicastRemoteObject;
import java.util.HashSet;
import java.util.Set;

import bean.dao.HibernateListaPreciosDAO;

import rmi.InterfazRemota;
import xml.srv.ListaPreciosaXML;

public class CasaCentral extends UnicastRemoteObject implements InterfazRemota {

	private static final long serialVersionUID = 1L;
	private Set <Rodamiento> rodamientos;
	private Set <Proveedor> proveedores;
	private Set <Cliente> clientes;
	private Set <ListaPrecios> listasPrecios;
	private Set <Cotizacion> cotizaciones;
	private Set <Venta> ventas;
	
	public CasaCentral() throws RemoteException {
		super();
		this.rodamientos = new HashSet<Rodamiento>();
		this.proveedores = new HashSet<Proveedor>();
		this.clientes = new HashSet<Cliente>();
		this.listasPrecios= new HashSet<ListaPrecios>();
		this.cotizaciones = new HashSet<Cotizacion>();
		this.ventas = new HashSet<Venta>();
	}

	public void setRodamientos(Set <Rodamiento> rodamientos) {
		this.rodamientos = rodamientos;
	}

	public Set <Rodamiento> getRodamientos() {
		return rodamientos;
	}

	public void setProveedores(Set <Proveedor> proveedores) {
		this.proveedores = proveedores;
	}

	public Set <Proveedor> getProveedores() {
		return proveedores;
	}

	public void setListasPrecios(Set <ListaPrecios> listasPrecios) {
		this.listasPrecios = listasPrecios;
	}

	public Set <ListaPrecios> getListasPrecios() {
		return listasPrecios;
	}

	public void setCotizaciones(Set <Cotizacion> cotizaciones) {
		this.cotizaciones = cotizaciones;
	}

	public Set <Cotizacion> getCotizaciones() {
		return cotizaciones;
	}

	public void setVentas(Set <Venta> ventas) {
		this.ventas = ventas;
	}

	public Set <Venta> getVentas() {
		return ventas;
	}
	
	@Override
	public void addCliente(Cliente cliente) {
		this.clientes.add(cliente);		
	}
	
	public void registrarListaPrecios () {
		ListaPrecios lp1 = new ListaPreciosaXML().GetListaPrecios();
		Proveedor prov1 = new Proveedor();
		prov1.setNombre("Proveedor1");
		Domicilio dom1 = new Domicilio();
		dom1.setCalle("Lima");
		prov1.setDomicilio(dom1);
		lp1.setProveedor(prov1);
		HibernateListaPreciosDAO.getInstancia().grabarListaPrecios(lp1);
		this.listasPrecios.add(lp1);
	}
	
	public void agregarRodamiento(Rodamiento r) {
		this.rodamientos.add(r);
	}
	
	
}
